home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / Libraries / Tools Plus 2.6.1a / Tools Plus 2.6.1a Evaluat'n Kit / Tools Plus’ Key Features < prev   
INI File  |  1995-04-01  |  23KB  |  493 lines

  1. [Display using Geneva 12]
  2.  
  3.  
  4.  
  5. Tools Plus Features
  6. ~~~~~~~~~~~~~~~~
  7.  
  8.   The following is a partial list of Tools Plus features.  Nearly all of them need only one line of code calling a Tools Plus routine.  Although some of these features may appear to be simple, their functional equivalent, when programmed in ordinary C or Pascal, often requires considerable programming effort and dozens (often hundreds) of lines of code.  Unlike object oriented class libraries that add thousands of lines of code to your application, Tools Plus reduces the need for most of your user interface and event management code.
  9.  
  10. The key advantages to every Tools Plus routine is:
  11.   • virtually all features can be implemented with a single line
  12.      of code
  13.   • they are consistent across all Systems and Macintosh models
  14.   • they are fully integrated with each other
  15.   • they adopt the “set and forget” principle of self-maintenance
  16.      allowing you to easily create a user interface, then forget about
  17.      it.  Your application responds to very specific events, such as:
  18.      Pop-up menu was selected in Window 5, Pop-Up Menu 3, Item 6.
  19.  
  20.  
  21.  
  22. W i n d o w s
  23. ~~~~~~~~~~
  24.  
  25. All 6 standard window types are supported and are referenced by a window number instead of a pointer. Pointers can be used, if required.  Additionally, Tools Plus provides your application with full tool bar and floating palette services.
  26.  
  27.  
  28. Any window can be “modal” to prevent the use of menus or clicking outside the active window.
  29.  
  30.  
  31. All Tools Plus user interface elements (such as buttons, editing fields, etc.) created in a window are automatically maintained.  Just create them and forget them.  Tools Plus takes care of drawing them and making them work.
  32.  
  33.  
  34. Windows can be optionally centered on the main monitor, or tiled.
  35.  
  36.  
  37. When a window is deactivated, Tools Plus automatically deactivates of all the user interface elements by disabling buttons, deselecting and disabling editing fields, disabling button and picture buttons, disabling pop-up menus, etc.  When the window is activated, Tools Plus restores the objects to their original state.
  38.  
  39.  
  40. Windows with title bars are moved automatically when they are dragged by the user.  Tools Plus ensures that windows are not dragged completely off the screen or underneath the tool bar.
  41.  
  42.  
  43. Windows with a “size box” are automatically sized when the user drags the “size box.”  Minimum and maximum limits can be specified for horizontal and vertical size.  You can also limit the window to horizontal and/or vertical sizing only.
  44.  
  45.  
  46. Windows with an optional “zoom box” in their title bar automatically zoom between a standard size/position, and a user-controlled size/position.
  47.  
  48.  
  49. All Tools Plus user interface elements (such as buttons, editing fields, etc.) created by your application are automatically refreshed when needed.
  50.  
  51.  
  52. Each window’s update region is “protected” to exclude Tools Plus’s user interface elements, so your application can refresh a window’s contents without concern about overwriting buttons, scroll bars, editing fields, etc.
  53.  
  54.  
  55. When a window needs to be refreshed, your application can redraw custom objects (such as a picture background) before and/or after Tools Plus redraws its objects.
  56.  
  57.  
  58. Your application can reposition, resize, or hide/show windows and still have Tools Plus maintain the user interface correctly.  No code is required to compensate for these actions.
  59.  
  60.  
  61. Various routines are provided to help your application keep track of windows: front most, current, active, front most floating palette, front most standard window, most recently used, containing active editing field, and more
  62.  
  63.  
  64. Closing a window automatically releases the memory occupied by Tools Plus user interface elements such as its buttons, scroll bars, editing fields, list boxes, etc.
  65.  
  66.  
  67.  
  68. T o o l   B a r
  69. ~~~~~~~~~~
  70.  
  71. Your application can optionally have a tool bar which is created below the menu bar on your main monitor.  Your application treats the tool bar just like any other window, and can open and close the tool bar as required.
  72.  
  73.  
  74. A tool bar’s width is automatically set to the main monitor’s width.  Your application just has to specify the tool bar’s height.
  75.  
  76.  
  77. The tool bar always remains the front window and is always active.  It can contain any Tools Plus user interface element, including pop-up menus, editing fields and picture buttons.
  78.  
  79.  
  80. The tool bar is automatically hidden when your application is suspended under MultiFinder (System 5 and 6), or System 7.  When your application is activated, the tool bar is displayed again.
  81.  
  82.  
  83. The tool bar can optionally shift all your application’s windows downward as it opens.  This prevents windows from being partially obscured by the tool bar.  If this option is used, windows are shifted back up when the tool bar is closed.
  84.  
  85.  
  86. If the tool bar’s size is changed by your application (to add or remove a data entry area, for example), all open windows can optionally be shifted to accommodate the difference in tool bar size.
  87.  
  88.  
  89. Windows cannot be dragged beneath the tool bar.
  90.  
  91.  
  92.  
  93. F l o a t i n g   P a l e t t e s
  94. ~~~~~~~~~~~~~~~~~~~~~~
  95.  
  96. Floating palettes (often called “palettes” or “windoids”) are supported.  They are as easy to use as any other window in Tools Plus.
  97.  
  98.  
  99. You can use third-party window definitions (WDEFs) or write your own to get a specific look.  Tools Plus takes care of making the window behave like a floating palette
  100.  
  101.  
  102. Palettes always remain in front of standard windows (if any are open) and behind the tool bar (if there is one).  They can contain any Tools Plus user interface element, including pop-up menus, editing fields and picture buttons.
  103.  
  104.  
  105. Floating palettes are moved automatically when they are dragged by the user.  Tools Plus ensures that floating palettes are not dragged completely off the screen or underneath the tool bar.
  106.  
  107.  
  108. When the user clicks on an object (such as a picture button) in floating palette, that palette is quickly brought to the front and refreshed before the click is processed.  This results in very responsive palettes.
  109.  
  110.  
  111. Palettes are automatically hidden when your application is suspended under MultiFinder (System 5 and 6), or System 7.  When your application is activated, the palettes are displayed again.
  112.  
  113.  
  114. Two styles of palettes are included with Tools Plus: one with a title bar along the top of the palette (with optional title), and a second style that has a drag bar along the left side of the palette.  The second style is well suited for horizontally oriented palettes that need to be as small as possible (the drag bar takes little space).
  115.  
  116.  
  117.  
  118. B u t t o n s
  119. ~~~~~~~~~
  120.  
  121. All 3 types of Macintosh buttons (push button, radio button and check box) are supported, and are referenced by a button number instead of a handle.
  122.  
  123.  
  124. Buttons can be enabled or disabled with a simple command.
  125.  
  126.  
  127. Check boxes and radio buttons can be checked or unchecked with a simple command.
  128.  
  129.  
  130. A push button can be designated to be the default button for a window.  As per Macintosh standards, a black outline is drawn around the button, and it is automatically selected whenever the user types Return or Enter.
  131.  
  132.  
  133. Buttons are automatically disabled when their parent window is inactive.  When the window is reactivated, the buttons assume their normal state.
  134.  
  135.  
  136. Each button’s text can be displayed using a different font, sizes, and style.  These variations work independently of their parent window’s font settings (unlike ordinary Macintosh buttons).
  137.  
  138.  
  139. Your application is informed when a radio button is double-clicked.  It can optionally interpret this to mean “select this button and click the default push-button.”
  140.  
  141.  
  142. Any push button can be “flashed” to appear as though it was clicked.
  143.  
  144.  
  145.  
  146. P i c t u r e   B u t t o n s
  147. ~~~~~~~~~~~~~~~~~~~
  148.  
  149. Any icon or PICT can be transformed into a button.  Like regular Tools Plus buttons, picture buttons are referenced by a button number instead of a handle.
  150.  
  151.  
  152. Each picture button’s appearance and behavior is defined by selecting from a number of alternate choices.  You simply define how the button works.
  153.  
  154.  
  155. Picture buttons can be simple, like click-sensitive icons, or they can be complex and provide the appearance of animation.
  156.  
  157.  
  158. Color 3D buttons can be produced from a simple black and white icon.  Tools Plus calculates the shading and highlighting to make the button appear to stand out from the window, and to be pushed in when selected by the user.
  159.  
  160.  
  161. Picture buttons have an optional “value” with a definable value range (similarly to a scroll bar).
  162.  
  163.  
  164. Multiple stage picture buttons have a different appearance for each value in the button’s range (such as an “on/off” button that has a value range of 0 and 1, and has the word “on” or “off” displayed).
  165.  
  166.  
  167. Buttons can lock into the “selected” position (to behave like radio buttons)
  168.  
  169.  
  170. A picture button can be scaled to have its value change at a constant speed, or to accelerate at a slow, moderate, or rapid rate.  You can also define a precise rate of change, such as 90° per second.
  171.  
  172.  
  173. Picture buttons can optionally produce repeating events as long as the mouse button is held down.
  174.  
  175.  
  176. Buttons can be polarized to increase their value when clicked on one side, and decrease when clicked on the other.
  177.  
  178.  
  179. Picture buttons can be enabled or disabled with a simple command.  You can apply one of several disabling effects to each button, or you can design your own image for a disabled button.
  180.  
  181.  
  182. Picture buttons can be selected or deselected with a simple command.  You can apply one of several selecting effects to each button, or you can design your own image for a selected button.
  183.  
  184.  
  185. Picture buttons are automatically disabled when their parent window is inactive.  When the window is reactivated, the buttons assume their normal state.
  186.  
  187.  
  188. Any picture button can be “flashed” to appear as though it was clicked.
  189.  
  190.  
  191.  
  192. S c r o l l   B a r s
  193. ~~~~~~~~~~~~~~
  194.  
  195. Scroll bars are created with a single command and are referenced by a scroll bar number instead of a handle.
  196.  
  197.  
  198. Scroll bars are automatically disabled when their window is inactive.  When the window is reactivated, the scroll bars assume their normal state.
  199.  
  200.  
  201. If a window has a right and/or bottom scroll bar, such as the kind seen on the edges of word processing documents and spreadsheets, these scroll bars are automatically resized and repositioned when a window’s size is changed.  Constants are provided to let you place these scroll bars without having to calculate their exact position.
  202.  
  203.  
  204.  
  205. E d i t i n g   F i e l d s
  206. ~~~~~~~~~~~~~~~~~
  207.  
  208. Editing fields are created with a single command and are referenced by a field number instead of a handle.  They are also memory efficient to allow for numerous fields in low memory situations.
  209.  
  210.  
  211. Tools Plus manages the multiple intricacies that arise when editing fields are included on standard windows, floating palettes, and the tool bar.
  212.  
  213.  
  214. The Edit menu automatically interacts with the active editing field.  The Undo, Cut, Copy, Paste, and Clear items are automatically enabled/disabled appropriately (see Menus).  Selected text is automatically copied to and from the clipboard by using the Edit Menu.
  215.  
  216.  
  217. Selected characters in a field automatically become deselected when the field’s window is inactive.  When the window is reactivated, selection is restored to its normal state.
  218.  
  219.  
  220. Sophisticated text editing allows a selected range of characters to be extended by a single character, or a word at a time.  With Tools Plus, editing fields behave like miniature word processors.
  221.  
  222.  
  223. Fields can be length-limited to prevent their text from exceeding a specified number of characters.  Tools Plus maintains the length limit even when text is pasted into the field.
  224.  
  225.  
  226. Tab, Return, Enter, Clicking, and Double-Clicking in a field are all fully supported.
  227.  
  228.  
  229. Editing fields can contain single or multiple lines (as decided upon by your application).
  230.  
  231.  
  232. Automatic scrolling ensures that selected characters are always in view.  In single-line fields, words will not disappear when they exceed the right side of the field -- they are automatically scrolled into view.
  233.  
  234.  
  235. Enhanced drag-selection works in conjunction with automatic scrolling making it easy to select additional characters that are out of view.  The further you move the cursor out of the field, the quicker it scrolls
  236.  
  237.  
  238. Editing fields can be repositioned on a window to facilitate scrolling tables.
  239.  
  240.  
  241. Your application can paste text directly into a field under the application’s control.
  242.  
  243.  
  244. Each editing field can have its own unique font, size, and style.  These variations work independently of the parent window’s font settings (unlike regular Macintosh fields).
  245.  
  246.  
  247.  
  248. L i s t   B o x e s
  249. ~~~~~~~~~~~~~
  250.  
  251. Macintosh “list boxes” are supported simply and effectively.
  252.  
  253.  
  254. List boxes are created with a single command and are referenced by a list number instead of a handle.
  255.  
  256.  
  257. Lines in a list box can be added or deleted as required, and are referenced by line number.
  258.  
  259.  
  260. List boxes are automatically disabled (the lines are deselected and the scroll bar is disabled) when their window is inactive, and are enabled when the window is activated.
  261.  
  262.  
  263. Various methods are available for selecting lines in a list box, such as: one line only, multiple lines, select as you drag the mouse, and many more.
  264.  
  265.  
  266. Your application can determine if a specific line, or any lines are selected in a list box.
  267.  
  268.  
  269. When you first create a list box, the first selected line will always be in view (i.e. not scrolled out of view).
  270.  
  271.  
  272. Each list box can have its own unique font, size, and style.  These variations work independently of the parent window’s font settings (unlike regular Macintosh list boxes).
  273.  
  274.  
  275.  
  276. M e n u s
  277. ~~~~~~~
  278.  
  279. Menus are created by a single command (one for each item) and are referenced by a menu and item number instead of a handle.  Hierarchical menus are created the same way.
  280.  
  281.  
  282. Menu hierarchies are easily created by simply attaching a submenu to a menu item.
  283.  
  284. Tools Plus prevents hierarchy errors such as: cyclical hierarchies, submenus attached to multiple parents, Command keys invoking an item in an orphan submenu (i.e., submenu with no parent), etc.
  285.  
  286.  
  287. Tools Plus prevents logical menu errors, such as overwriting a submenu link with a command key.
  288.  
  289.  
  290. Menus can be added, changed, deleted, renamed, appended, enabled/disabled, restyled, prefaced with a symbol or icon, etc.
  291.  
  292.  
  293. Command key equivalents, icons, check marks, other special marks, and font styling are all supported.
  294.  
  295.  
  296. The “Apple” menu is created with a single command that automatically gives your application access to desk accessories.  This also includes the apple menu’s “About…” item that names your application.
  297.  
  298.  
  299. When using the Finder in System 5 or System 6, menus are automatically enabled/disabled appropriately when a desk accessory is active.  Under MultiFinder and System 7, the menu bar is automatically replaced with the desk accessory’s menu bar when the DA is active.
  300.  
  301.  
  302. The Edit menu’s Undo, Cut, Copy, Paste, and Clear items automatically perform editing functions on the active field and in desk accessories.  These menu items are automatically enabled/disabled appropriately.
  303.  
  304.  
  305. The Edit menu’s Undo item performs Undo/Redo operations on the active editing field.  It automatically changes to “Undo Cut”, “Undo Copy”, “Undo Paste”, and “Undo Typing” as required.  Selecting “Undo…” changes the item to “Redo…” and automatically performs the correct action.
  306.  
  307.  
  308.  
  309. P o p - U p   M e n u s
  310. ~~~~~~~~~~~~~~~~
  311.  
  312. Pop-up menus are created by a single command (one for each item) and are referenced by a menu and item number instead of a handle.
  313.  
  314.  
  315. Also included are “pop-down menus.”  They have a fixed (unchanging) title inside the pop-up box, and the available items appear beneath the control’s box.
  316.  
  317.  
  318. Tools Plus’s pop-up menus support: “down arrow” suppression, multiple fonts, single item selection, and more.
  319.  
  320.  
  321. When displaying a pop-up menu using a font other than the System Font (such as Geneva 9pt), Tools Plus’s pop-up menus are unaffected by other applications which may use non-standard Menu Manager methods (such as a rather famous word processor that resets other application’s pop-up menu fonts).
  322.  
  323.  
  324. You can optionally display the selected item’s icon in the pop-up menu’s box.
  325.  
  326.  
  327. Pop-up menus can be added, changed, deleted, renamed, appended, enabled/disabled, restyled, prefaced with a symbol or icon, etc.
  328.  
  329.  
  330. Icons, check marks, other special marks, and font styling are all supported.
  331.  
  332.  
  333. Pop-up menus are automatically disabled when their parent window is inactive.  When the window is reactivated, the pop-up menus assume their normal state.
  334.  
  335.  
  336. Tools Plus’s pop-up menus look and work the same across all system versions, thereby providing System 7 features to prior systems.
  337.  
  338.  
  339.  
  340. M o u s e
  341. ~~~~~~~
  342.  
  343. Single, double, and triple clicks, as well as dragging is automatically detected and reported.
  344.  
  345.  
  346. A cursor table can be used to detect if the mouse was clicked in specific areas (such as a picture or icon).  This feature effectively makes any object “click sensitive.”
  347.  
  348.  
  349.  
  350. Event Handling (Polling)
  351. ~~~~~~~~~~~~~~~~~~~
  352.  
  353. A single routine keeps all automatic Tools Plus processes running smoothly, and tells your application if something has occurred, such as the user selecting a menu or clicking a button.
  354.  
  355.  
  356. The revolutionary Event Translator reports events in a highly informative, simple, concise, and ready-to-use format instead of being cryptic and requiring message decoding.  Example: the “Save” button was selected in the “Add Customer” window (button 4 was selected in window 15), or “Menu Item 16 was selected in Menu 4.”  This is much simpler than decoding event messages, tracking controls, and using handles and pointers.
  357.  
  358.  
  359. Some events are processed entirely by Tools Plus, such as typing in an active editing field or selecting its text, or using the Edit menu on a field, or running desk accessories.  It’s completely automatic.
  360.  
  361.  
  362. Tools Plus takes care of maintaining the user interface before it reports an event to your application.  For example, in a doRefresh event (refresh a window), all Tools Plus user interface elements (buttons, scroll bars, editing fields, etc.) are redrawn automatically.
  363.  
  364.  
  365. Many events can be ignored if your application doesn’t care about them, such as when the user drags or re-sizes a window.
  366.  
  367.  
  368. Events that are not processed by Tools Plus are handed to your application, which can either ignore them or process them as required.  This allows advanced programmers to implement their own special features.
  369.  
  370.  
  371.  
  372. C l i p b o a r d
  373. ~~~~~~~~~~~
  374.  
  375. The clipboard is automatically maintained when using the Edit menu on an editing field (i.e., the clipboard contains copied text).
  376.  
  377.  
  378. Your application can access text that was placed on the clipboard by other applications or desk accessories, so you can paste it into fields by using the Edit menu.  No programming is required.
  379.  
  380.  
  381. The Edit menu’s “Undo” operation restores the clipboard to its original state, so if you accidentally copy something to the clipboard and undo the copying, the clipboard’s original contents are automatically restored.
  382.  
  383.  
  384.  
  385. C u r s o r s
  386. ~~~~~~~~~
  387.  
  388. The shape of the cursor can be changed with a single command.
  389.  
  390.  
  391. The cursor changes shape automatically depending on where it is on the screen.  For example, the cursor becomes an I-Beam when it enters an editing field, and an arrow when it is outside the active window.
  392.  
  393.  
  394. A cursor table can be set up to automatically change the cursor’s shape depending on its position in a window, so it could become a “plus” cursor when located over a grid of cells (like in a spreadsheet application).
  395.  
  396.  
  397. When the wrist watch cursor is displayed, Tools Plus filters out all mouse clicks and typing except Command-. (operator halting a lengthy process.)
  398.  
  399.  
  400. Optionally, your application can permit the clicking of a push button when the wrist watch cursor is displayed.  This is useful if you have a Cancel button displayed on a window during a lengthy process.
  401.  
  402.  
  403. An animated cursor, like the Finder’s spinning wrist watch, is supported.  You define the images used to animate the cursor, and the speed at which the animation occurs.
  404.  
  405.  
  406.  
  407. D e s k   A c c e s s o r i e s
  408. ~~~~~~~~~~~~~~~~~~~~~
  409.  
  410. Access to desk accessories is made possible by creating the Apple menu with a single command.
  411.  
  412.  
  413. The Edit menu’s Undo, Cut, Copy, Paste, and Clear items interact automatically with desk accessories.
  414.  
  415.  
  416. Text that is cut, copied and pasted between desk accessories and editing fields in your application is completely automatic.
  417.  
  418.  
  419. Desk accessories are handled automatically by Tools Plus (you don’t have to program anything to use them).
  420.  
  421.  
  422.  
  423. D i a l o g s / A l e r t s
  424. ~~~~~~~~~~~~~~~~~~
  425.  
  426. Alerts and modal dialog boxes are supported by standard C or Pascal statements, however, they can be easily simulated by using Tools Plus windows or Tools Plus’s Dynamic Alerts.
  427.  
  428.  
  429.  
  430. D y n a m i c   A l e r t s
  431. ~~~~~~~~~~~~~~~~~~~
  432.  
  433. Dynamic Alerts are alerts (or simple dialogs) that are automatically sized in relation to the alert’s contents -- they grow as big as needed to always appear aesthetically pleasing.  It’s like having hundreds of customized alert boxes available at your disposal.
  434.  
  435.  
  436. Dynamic Alerts are created with a single command, and do not require the use of resources.
  437.  
  438.  
  439. You can use various combinations of Yes, No, OK, and Cancel buttons, or define your own combinations.  A default button can be optionally specified.
  440.  
  441.  
  442. An icon can be optionally displayed, and the alert can optionally beep when displayed.
  443.  
  444.  
  445. Dynamic Alerts, unlike Macintosh alerts, are unaffected by screen savers.
  446.  
  447.  
  448. Dynamic Alerts are always centered perfectly on the main monitor, regardless of the monitor’s size or the number of monitors used.
  449.  
  450.  
  451.  
  452. C u s t o m   C o n t r o l s
  453. ~~~~~~~~~~~~~~~~~~~~
  454.  
  455. Advanced programmers can develop their own custom controls and still be informed of events pertaining to those controls.
  456.  
  457.  
  458.  
  459. E x t r a s
  460. ~~~~~~~~
  461.  
  462. Zoom lines, such as those displayed by the Finder when a document is opened, are available to make objects appear to zoom out from the screen or zoom back down again.
  463.  
  464.  
  465. All icon types (cicn, icl8, icl4, ics8, ics4, ics#, SICN, ICON, and ICN#) can be drawn with a single command.  Icons can be displayed as selected/unselected and enabled/disabled.  Tools Plus is sensitive to monitor settings (number of colors) and displays the best available icon.  Icons are displayed correctly even if they straddle two monitors with dissimilar settings.
  466.  
  467.  
  468. The standard Macintosh thermometer can be drawn with a single command.  Tools Plus is sensitive to monitor settings (number of colors), as well as whether you are using System 7 or not, and draws a thermometer that is identical to the Finder’s.
  469.  
  470.  
  471.  
  472. M o n i t o r s
  473. ~~~~~~~~~~~
  474.  
  475. Color, gray-scale and monochrome (black and white) monitors are supported, as are multiple-monitor setups. Specialized routines are included to facilitate color-dependent drawing, and to inform your application of its environment.
  476.  
  477.  
  478.  
  479. M e m o r y
  480. ~~~~~~~~
  481.  
  482. Memory fragmentation due to opening and closing windows is eliminated, regardless of the number of windows your application uses or has open at the same time.
  483.  
  484.  
  485. Tools Plus is memory efficient, requiring little of your application’s memory for its own overhead.
  486.  
  487.  
  488.  
  489. S y s t e m s
  490. ~~~~~~~~~~
  491.  
  492. Tools Plus can be compiled into applications intended for System 5 and System 6 (Finder and MultiFinder), System 7, and Power Macintosh (in emulation or native mode).
  493.